package com.cmc.cloud.cmclink.doc.vo.blnovo;

import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

/**
 * @author 申天青
 * @date 2025/9/16
 */
@Schema(description = "管理后台 - 提单主信息IM 分页返回结果")
@Data
@EqualsAndHashCode()
@ToString(callSuper = true)
public class BlnoImPageRespVO {
    @ExcelProperty(value = "ID", order = 0)
    @Schema(description = "si主表id", requiredMode = Schema.RequiredMode.REQUIRED)
    private Long blnoId;

    @ExcelProperty(value = "bkgVesselCode", order = 1)
    @ColumnWidth(50)
    @Schema(description = "订舱船名", requiredMode = Schema.RequiredMode.REQUIRED)
    private String bkgVesselCode;

    @ExcelProperty(value = "bkgVoyage", order = 2)
    @ColumnWidth(50)
    @Schema(description = "订舱航次", requiredMode = Schema.RequiredMode.REQUIRED)
    private String bkgVoyage;

    @ExcelProperty(value = "blNo", order = 3)
    @ColumnWidth(50)
    @Schema(description = "提单号", requiredMode = Schema.RequiredMode.REQUIRED)
    private String blNo;

    @ExcelProperty(value = "signType", order = 4)
    @ColumnWidth(50)
    @Schema(description = "实际签单类型 类型：T（Telex release）、W（Seaway B/L）、B（Original B/L）、E（Electronic B/L）", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
    private String signType;

    @ExcelProperty(value = "paid", order = 5)
    @Schema(description = "付款状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
    private String paid;

    @ExcelProperty(value = "noted", order = 6)
    @Schema(description = "标记签单 ", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
    private String noted;

    @ExcelProperty(value = "doStatus", order = 7)
    @Schema(description = "D/O状态 Delivery against Bank L/G、Delivery against L/G、Delivery against original B/L、Sea waybill、Telex release、Electronic BL", example = "2")
    private String doStatus;


    @ExcelProperty(value = "doType", order = 8)
    @Schema(description = "换单类型 D/O Type P:Print E:E_DO", requiredMode = Schema.RequiredMode.REQUIRED)
    private String doType;


    @ExcelProperty(value = "doDate", order = 9)
    @ColumnWidth(50)
    @Schema(description = "换单时间", requiredMode = Schema.RequiredMode.REQUIRED)
    private String doDate;

    @ExcelProperty(value = "taxId", order = 10)
    @ColumnWidth(50)
    @Schema(description = "换单人税号", requiredMode = Schema.RequiredMode.REQUIRED)
    private String taxId;

    @ExcelProperty(value = "D/O Party", order = 11)
    @Schema(description = "D/O Party 换单人中文名称 doExchangerNameCn", requiredMode = Schema.RequiredMode.REQUIRED)
    private String doParty;

    @ExcelProperty(value = "E/F", order = 12)
    @Schema(description = "箱状态 空/重 E/F", requiredMode = Schema.RequiredMode.REQUIRED)
    private String cntrStatus;


    @ExcelProperty(value = "B/L Status", order = 13)
    @ColumnWidth(50)
    @Schema(description = "拆并单状态 B/L Status 提单拆并单类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
    private String splitCombineType;

    @ExcelProperty(value = "porCode", order = 14)
    @Schema(description = "接货地", requiredMode = Schema.RequiredMode.REQUIRED)
    private String porCode;

    @ExcelProperty(value = "polCode", order = 15)
    @Schema(description = "装货港", requiredMode = Schema.RequiredMode.REQUIRED)
    private String polCode;

    @ExcelProperty(value = "podCode", order = 16)
    @Schema(description = "卸货港", requiredMode = Schema.RequiredMode.REQUIRED)
    private String podCode;

    @ExcelProperty(value = "delCode", order = 17)
    @Schema(description = "目的地", requiredMode = Schema.RequiredMode.REQUIRED)
    private String delCode;

    @ExcelProperty(value = "cntrOwner", order = 18)
    @Schema(description = "箱主代码", requiredMode = Schema.RequiredMode.REQUIRED)
    private String cntrOwner;

    @ExcelProperty(value = "spaceOwner", order = 19)
    @Schema(description = "舱位代码", requiredMode = Schema.RequiredMode.REQUIRED)
    private String spaceOwner;

    @ExcelProperty(value = "payment", order = 20)
    @ColumnWidth(50)
    @Schema(description = "付款方式 Payment method C P", requiredMode = Schema.RequiredMode.REQUIRED)
    private String payment;

    @ExcelProperty(value = "transitTermIm", order = 21)
    @ColumnWidth(50)
    @Schema(description = "运输方式 进口报关用中转类型")
    private String transitTermIm;

    @ExcelProperty(value = "stuffLocIm", order = 22)
    @ColumnWidth(50)
    @Schema(description = "提货点(IM) 指定卸货堆场")
    private String stuffLocIm;

    @ExcelProperty(value = "commodityCn", order = 23)
    @ColumnWidth(50)
    @Schema(description = "中文品名")
    private String commodityCn;

    @ExcelProperty(value = "lockDO", order = 24)
    @Schema(description = "lockDO")
    private Boolean lockDO;

    @ExcelProperty(value = "lockCharge", order = 25)
    @Schema(description = "锁费用 Lock Charge")
    private Boolean lockCharge;

    @ExcelProperty(value = "Send Arrival Notice", order = 26)
    @Schema(description = "Send Arrival Notice")
    private String sendArrivalNotice;

}
